package com.ctshk.rpc.cms.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.cms.dto.BannerPositionDTO;
import com.ctshk.rpc.cms.dto.BannerPositionListDTO;
import com.ctshk.rpc.cms.req.BannerPositionAddReq;
import com.ctshk.rpc.cms.req.BannerPositionQueryReq;
import com.ctshk.rpc.cms.req.BannerPositionUpdateReq;
import com.ctshk.rpc.cms.req.SelectAllQueryReq;

import java.util.List;

/**
 * <p>
 * banner位管理表 服务类
 * </p>
 *
 * @author LiZhiming
 * @since 2021-04-23
 */
public interface IBannerPositionService{
    /**
     * 新增banner位
     *
     * @param bannerAddReq
     * @return
     */
    Result add(BannerPositionAddReq bannerAddReq, TokenUser tu);

    /**
     * 查询banner位作为下拉列表
     *
     * @return
     */
    Result<List<BannerPositionDTO>> getSelectList();

    /**
     * 查询banner位列表
     * @param req
     * @return
     */
    PageResponse<BannerPositionListDTO> getList(BannerPositionQueryReq req);

    /**
     * 查询banner位列表2
     * @param req
     * @return
     */
    PageResponse<BannerPositionListDTO> getList2(SelectAllQueryReq req);

    /**
     * 查询bnner位
     * @param id
     * @return
     */
    Result<BannerPositionListDTO> getBannerPositionById(Long id);

    /**
     * 查询bnner位
     * @param code
     * @return
     */
    Result<BannerPositionListDTO> getBannerPositionByCode(String code);

    /**
     * 修改banner位
     * @param req
     * @return
     */
    Result update(BannerPositionUpdateReq req,TokenUser tu);
}
